/*
 * Copyright 2018 Google LLC. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

/**
 *  Private object that hangs on to our decompression/compression data
 */
typedef struct
{
    void        *ip_SrcBuf;
    int         ip_SrcLen;
    void        *ip_DstBuf;
    void        *ip_CompBuf;
    int         ip_CompSize;
    int         ip_Width;
    int         ip_Height;
    int         ip_Stride;
    int         ip_ReCompSize;
} IJG_Private;

void    jpeg_memory_dimensions(void *indata, int len, int *w, int *h);
void    load_jpeg_data(IJG_Private *ip);
void    jpeg_compress(IJG_Private *ip, int q);
